//
//  BNDApiManager.h
//  OfficeDoc
//
//  Created by pie on 2022/4/5.
//  Copyright © 2022 pie. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "LKJsonRequestManager.h"
#import "LKRequestManager.h"



NS_ASSUME_NONNULL_BEGIN

@class
BNDClassifyModel,
BNDOfficeDocModel,
BndUser,
BNDFileInfo;

@interface BNDApiManager : NSObject


/// 请求公告分类
+ (LKRequestManager *)officeDocRequestClassList:(void (^)(NSArray<BNDClassifyModel*>*moreClass))success
                                        failure:(LKJsonQueryFailureBlock)failure;


/// 初始化管理员账号和企业公文公告配置
+ (LKRequestManager *)officeDocInitCompanyAdmin:(void (^)(void))success
                                        failure:(LKJsonQueryFailureBlock)failure;


/// 公告列表
/// @param pageNo  页数
/// @param classID  分类id
+ (LKRequestManager *)officeDocAnnouncementList:(NSInteger)pageNo classID:(NSString*)classID success:(void (^)(NSArray<BNDOfficeDocModel*>*moreClass))success
                                        failure:(LKJsonQueryFailureBlock)failure;

/// 公文详情
/// @param modelId 公文id
+ (LKRequestManager *)officeDocRequestArchiveController:(NSString*)modelId success:(void (^)(BNDFileInfo *info))success
                                                failure:(LKJsonQueryFailureBlock)failure;


/// 公告搜索
/// @param content  搜索内容
/// @param pageNo  数量
+ (LKRequestManager *)officeDocRequestSearchrr:(NSInteger)pageNo  content:(NSString*)content success:(void (^)(NSArray<BNDOfficeDocModel*>*moreClass))success
                                       failure:(LKJsonQueryFailureBlock)failure;


/// 首页卡片列表
+ (LKRequestManager *)officeDocRequestAnnouncementCard:(void (^)(NSArray<BNDOfficeDocModel*>*moreClass))success
                                               failure:(LKJsonQueryFailureBlock)failure;


/// 首页弹窗公告
+ (LKRequestManager *)officeDocRequestPopWindos :(void (^)(NSArray<BNDOfficeDocModel*>*moreClass))success
                                         failure:(LKJsonQueryFailureBlock)failure;


/// 请求用户信息
+ (LKRequestManager *)officeDocRequestUserInfoVoByIds:(void (^)(NSArray<BndUser*>*moreClass))success
                                              failure:(LKJsonQueryFailureBlock)failure;


/// 请求公司信息
+ (LKJsonRequestManager *)officeDocRequestFindCompanyInfoById:(void (^)(NSString*companyName))success
                                                      failure:(LKJsonQueryFailureBlock)failure;


/// 请求用户角色

+ (LKJsonRequestManager *)officeDocRequestUserInfo:(void (^)(BOOL isManage))success
                                           failure:(LKJsonQueryFailureBlock)failure;



/// 已阅状态
/// @param officDocId  公告id
+ (LKJsonRequestManager *)officeDocRequestRead:(NSString*)officDocId success:(void (^)(void))success
                                       failure:(LKJsonQueryFailureBlock)failure;


/// 上传配置信息
+ (LKJsonRequestManager *)officeDocRequestFileUrl:(void (^)(NSString* accessKeyId,NSString* securityToken,NSString* accessKeySecret,NSString * expiration))success
                                          failure:(LKJsonQueryFailureBlock)failure;

/// 签到统计
/// @param officDocId  公告id
+ (LKRequestManager *)officeDocStatistics:(NSString*)officDocId success:(void (^)(NSString* readCount,NSString* readHasBeenSigned,NSString* readUnsigned,NSString * unreadCount))success
                                  failure:(LKJsonQueryFailureBlock)failure;


/// 请求阅读详情
/// @param pageNo  页数
/// @param announcementId  公告id
/// @param type  阅读类型
+ (LKRequestManager *)officeDocRequestReadDtails:(NSInteger)pageNo  announcementId:(NSString*)announcementId type:(NSInteger)type success:(void (^)(NSArray<BndUser*>*moreClass))success
                                         failure:(LKJsonQueryFailureBlock)failure;


/// 公告签署
/// @param officDocId 公告id
/// @param signaturePic 签署图片
+ (LKRequestManager *)officeDocAnnouncementSign:(NSString*)officDocId signaturePic:(NSString*)signaturePic success:(void (^)(void))success
                                        failure:(LKJsonQueryFailureBlock)failure;


/// 公告详情
/// @param officDocId 公告id
+ (LKJsonRequestManager *)officeDocDetails:(NSString*)officDocId success:(void (^)(BNDOfficeDocModel *model))success
                                   failure:(LKJsonQueryFailureBlock)failure;

/// 关闭弹窗
/// @param officDocId  recordId
+ (LKRequestManager *)officeDocRequestPopWindosOff:(NSString*)officDocId success:(void (^)(void))success
                                           failure:(LKJsonQueryFailureBlock)failure;

@end

NS_ASSUME_NONNULL_END
